///**
// * 创建时间： 2017年5月26日
// *
// * @Copyright 武汉雷软科技有限公司
// */
//package com.lrkj.back.vo;
//
//import com.lrkj.back.entity.Seq;
//import com.lrkj.back.service.SeqService;
//import com.lrkj.framework.constant.tb.Const;
//import com.lrkj.framework.exception.MessageException;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//
//import javax.annotation.PostConstruct;
//import java.text.SimpleDateFormat;
//import java.util.*;
//
///**
// * <pre>
// * 创建人： 徐勇
// * 类描述：
// * 版本号：0.0.1
// * 修改人：
// * 修改时间：
// * 修改内容：
// * </pre>
// */
//@Controller
//public class MathRandomNumber {
//
//    static int mathProduct = Const.MathRandomNumberInterface.MATH_PRODUCT;
//
//    private static MathRandomNumber mathRandomNumber;
//
//    @Autowired
//    private ISeqService iSeqService;
//
//    @PostConstruct
//    public void init() {
//        mathRandomNumber = this;
//        mathRandomNumber.iSeqService = this.iSeqService;
//    }
//
//    /**
//     * 生成一个list集合的字符串
//     *
//     * @param packageType
//     *            包的类型 分为厂家包 普通包
//     * @param packageLength
//     *            生成多少长度的数据串
//     * @return 返回一个list 集合
//     */
//    public static List<String> randomPackageNumber(int packageType, int packageLength) {
//        String begin = "";
//        Map<String, Object> map = new HashMap<String, Object>();
//        List<String> randomList = new ArrayList<String>();
//        int value = 0;
//        switch (packageType) {
//            case 1:
//                begin = "R";
//                break;
//            case 2:
//                begin = "C";
//                break;
//            default:
//                begin = null;
//                throw new MessageException("包的格式异常");
//        }
//        map.put("seq_type", "package");
//        List<Seq> list = mathRandomNumber.iSeqService.selectByMap(map);
//        Seq seq = new Seq();
//        if (list.size() == 1) {
//            value = list.get(0).getSeqValue();
//            seq.setId(list.get(0).getId());
//            for (int i = 0; i < packageLength; i++) {
//                value++;
//                if (value >= 10000) {
//                    seq.setSeqValue(0);
//                    value = 0;
//                } else {
//                    seq.setSeqValue(value);
//                }
//                randomList.add(generate(begin, value, "yyMMdd"));
//
//            }
//            mathRandomNumber.iSeqService.updateById(seq);
//        } else {
//            throw new MessageException("查询包的序列异常");
//        }
//        return randomList;
//    }
//
//    /**
//     * 返回一个长度为MATH_PRODUCT 的字符串
//     *
//     * @param begin
//     *            开始的字符串
//     *
//     * @return 字符串长度为MATH_PRODUCT 随机数生成的一个数字，不足的用零补齐
//     */
//    public static String randomNumber(String begin) {
//        int num = mathProduct;
//        int randomNumber = (int) (Math.random() * num);
//        String randomStr = String.valueOf(randomNumber);
//
//        return generate(begin, randomNumber, "yyMMddhhmmss");
//
//    }
//
//    /**
//     *
//     * 传入一个数字自动生成字符串
//     *
//     * @param begin
//     *            字符前缀
//     * @param num
//     *            转换数字
//     * @param pattern
//     *            年月日参数
//     * @return
//     */
//    private static String generate(String begin, int num, String pattern) {
//        String str = String.valueOf(num);
//        int mathNum = String.valueOf(mathProduct).length();
//        char[] chNum = str.toCharArray();
//        char[] chZreo = new char[mathNum];
//        for (int i = 0; i < chZreo.length; i++) {
//            chZreo[i] = '0';
//        }
//        int len = mathNum - chNum.length;
//        System.arraycopy(chNum, 0, chZreo, len, chNum.length);
//        str = String.valueOf(chZreo);
//        Date date = new Date();
//        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
//        str = begin + sdf.format(date) + str;
//        return str;
//    }
//
//    /**
//     * 生成一个字符串数组 字符串都是随机数字 定长
//     *
//     * @param begin
//     *            前面的字符串
//     * @param arrNum
//     *            数组长度
//     * @return
//     */
//    public static List<String> randomNumber(String begin, int arrNum) {
//        List<String> randomlist = new ArrayList<>();
//        for (int i = 0; i < arrNum; i++) {
//            int randomNumber = (int) (Math.random() * mathProduct);
//
//            while (randomlist.contains(randomNumber))
//                randomNumber = (int) (Math.random() * mathProduct);
//            String randomStr = generate(begin, randomNumber, "yyMMddhhmmss");
//            randomlist.add(randomStr);
//        }
//        return randomlist;
//    }
//
//    /**
//     * 生成定长度随机数
//     *
//     * @param arrNum
//     *            长度
//     * @return
//     */
//    public static List<Integer> randomNumber(int arrNum) {
//        List<Integer> randomlist = new ArrayList<>();
//        for (int i = 0; i < arrNum; i++) {
//            int randomNumber = (int) (Math.random() * 33);
//            while (randomlist.contains(randomNumber) || randomNumber == 0)
//                randomNumber = (int) (Math.random() * 33);
//            randomlist.add(randomNumber);
//        }
//        return randomlist;
//    }
//
//    public static void main(String[] args) {
//        List a = MathRandomNumber.randomPackageNumber(1, 50);
//        System.out.print(a);
//
//    }
//}
